package com.ctg.behavior.common.userpath;

import java.util.ArrayList;
import java.util.List;

import com.ctg.behavior.common.calc.CtCalcCommonBody;
import com.ctg.behavior.common.consts.CtCalcConsts;

import lombok.Data;
import lombok.EqualsAndHashCode;

@EqualsAndHashCode(callSuper = false)
@Data
public class CtUserPathCalcBody extends CtCalcCommonBody {

///*
//	{
//		"req": {
//			"byFields": ["event._AppStart._lib", "event._AppEnd._lib"],
//			"colLimit": 20,
//			"eventIds": ["_AppStart", "_AppEnd"],
//			"fromDate": "2021-07-01",
//			"toDate": "2021-07-26",
//			"rowLimit": 20,
//			"samplingFactor": 64,
//			"sessionInterval": 1080,
//			"sourceEvent": {
//				"eventId": "$AppStart",
//				"filter": {
//					"conditions": []
//				}
//			},
//			"sourceType": "initial_event",
//			"subTaskType": "PATHANALYTICS",
//			"filter": {
//				"conditions": []
//			},
//			"requestId": "1627300843978:525360"
//		}
//	}
// */

	// 分组字段
	private List<String> byFields = new ArrayList<>();
	// 参与分析的事件
	private List<String> eventIds = new ArrayList<>();
	// 起始事件 或 结束事件
	private String sourceType = CtCalcConsts.EVENT_INITIAL;
	// 选择起始/结束事件
	private CtUserPathSourceEvent sourceEvent = new CtUserPathSourceEvent();
	// 保留字段，默认值64
	private Integer samplingFactor = 64;
	// 设置 Session 间隔，单位分钟
	private Integer sessionInterval = 1080;
	// 默认值20
	private Integer colLimit = 20;
	// 每层最多显示的节点
	private Integer rowLimit = 8;

}
